package hu.xydan;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.media.opengl.GL2;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.awt.GLCanvas;
import javax.media.opengl.glu.GLU;
import com.jogamp.opengl.util.FPSAnimator;
import static javax.media.opengl.GL.*;  // GL konstansok
import static javax.media.opengl.GL2.*; // GL2 konstansok
import java.util.ArrayList;
/**
 * @author wuxort
 */
public class Rajzolas 
{
    int tipus;
    ArrayList<Integer> kirajzolni = new ArrayList<Integer>();
    int hanyszor = 0;
    
    public Rajzolas(ArrayList<Integer> palya)
    {
        this.kirajzolni = palya;
    }
    
    public void negyzet(GL2 gl, float szelesseg, float magassag)
    {
      gl.glBegin(GL_QUADS); 
         gl.glVertex3f(-1.0f*szelesseg, 1.0f*magassag, 0.0f);
         gl.glVertex3f(1.0f*szelesseg, 1.0f*magassag, 0.0f);
         gl.glVertex3f(1.0f*szelesseg, -1.0f*magassag, 0.0f);
         gl.glVertex3f(-1.0f*szelesseg, -1.0f*magassag, 0.0f);
      gl.glEnd();
    }
    
    public void haromszog(GL2 gl, float nagysag)
    {
       gl.glBegin(GL_TRIANGLES); 
         gl.glVertex3f(0.0f, 1.0f*nagysag, 0.0f);
         gl.glVertex3f(-1.0f*nagysag, -1.0f*nagysag, 0.0f);
         gl.glVertex3f(1.0f*nagysag, -1.0f*nagysag, 0.0f);
      gl.glEnd(); 
    }
    
    public void eltol(GL2 gl)
    {
       gl.glTranslatef(0.2f, 0.0f, 0.0f);
    }
    
    public void rajzol(GLAutoDrawable drawable, GL2 gl)
    {              
      gl.glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
      gl.glLoadIdentity();  

      gl.glTranslatef(-5.5f, 0.0f, -6.0f);       
      
      //haromszog(gl);

      gl.glTranslatef(3.0f, 0.0f, 0.0f);

      for (int i=0;i<kirajzolni.size();i++)
      {
          switch (kirajzolni.get(i))
          {
              case 1: haromszog(gl, 0.1f);eltol(gl);break;
              case 0: negyzet(gl, 0.1f, 0.1f);eltol(gl);break;
              default: haromszog(gl, 0.1f);eltol(gl);break;
          }
      }      
    };
}
